// 观察者
// 收集订阅者
// 通知订阅者
class Watcher {
  constructor(vm,key,fn) {
    // 保存参数
    this.vm = vm
    this.key = key
    this.fn = fn
    // 将当前观察者给发布者
    Dep.target = this
    this.oldValue = vm[key] // 触发收集,将观察者添加到依赖收集中
    Dep.target = null
  }
  // 
  update() {
    let newValue =  this.vm[this.key] // ???是否会触发依赖收集
    if (this.oldValue === newValue) {
      return
    }
    this.fn(newValue)
  }
}